
	<div class="dagang">
		<span><h1>教学大纲</h1></span>
	</div>
	<div class="list">
		<ul>
			<li class="fl"  >
				<a onclick="Javascript:neirong()" >教学内容及要求</a>
				<ul class="fenlan" >
					<li ><a onclick="Javascript:one()">单元一到单元五</a></li>
					<li ><a onclick="Javascript:nine()">单元六到单元九</a></li>
				</ul>
			</li>
			<li class="fl"><a onclick="Javascript:shiyan()">实验教学安排</a></li>
			<li class="fl"><a onclick="Javascript:fangfa()">教学方法与策略</a></li>
			<li class="fl"><a onclick="Javascript:tuijian()">教材实验指导推荐书</a></li>
		</ul>
	</div>
	<hr style="height:1px;border:none;border-top:2px solid blue;" />
	<div class="content" id="d1" >
		<div id="c1">
			<ul>
				<li>
					<h3><strong>单元一&nbsp;概论</strong></h3>
					<p>
						<strong>1. 什么是数据结构</strong><br>
						1.1 数据和数据元素 &nbsp;&nbsp;
						1.2 数据类型与数据对象 &nbsp;&nbsp;
						1.3 数据结构 <br>
						<strong>2. 为什么要学习数据结构</strong><br>
						2.1 学习数据结构的重要性
						2.2 数据结构的应用举例 <br>
						<strong>3. 算法和算法分析</strong><br>
						3.1 算法的概念 &nbsp;&nbsp;
						3.2 算法的描述和设计 &nbsp;&nbsp;
						3.3 算法分析
					</p>
				</li>
				<li>
					<h3><strong>单元二&nbsp;线性表</strong></h3>
					<p>
						<strong>1. 线性表的基本概念</strong><br>
						1.1 线性表的定义&nbsp;&nbsp;
						1.2 线性表的基本操作  <br>
						<strong>2. 线性表的顺序存储</strong><br>
						2.1 顺序表 &nbsp;&nbsp;
						2.2 顺序表的基本操作 <br>
						<strong>3. 线性表的链式存储 </strong><br>
						3.1 单链表的基本概念 &nbsp;&nbsp;
						3.2 单链表的基本操作 &nbsp;&nbsp;
						3.3 循环链表&nbsp;&nbsp;
						3.4 双向链表 &nbsp;&nbsp;
						3.5 双向循环链表<br>
						<strong>4.线性表顺序存储与链式存储的比较</strong>
					</p>
				</li>
				<li>
					<h3><strong>单元三&nbsp;栈和队列</strong></h3>
					<p>
						<strong>1. 栈和栈的应用</strong><br>
						1.1 栈的定义与基本操作&nbsp;&nbsp;
						1.2 顺序栈的存储结构和操作&nbsp;&nbsp;
						1.3 链栈的存储结构与操作 <br>
						<strong>2. 队列与队列的应用</strong><br>
						2.1 队列的定义与基本操作&nbsp;&nbsp;
						2.2 链队列与顺序队列的存储与操作 <br>
						<strong>3. 递归 </strong><br>
						3.1 递归的定义与实现&nbsp;&nbsp;
						3.2 递归消除
					</p>
				</li>
				<li>
					<h3><strong>单元四&nbsp;串</strong></h3>
					<p>
						<strong>1. 串的定义和基本操作 </strong><br>
						1.1 串的定义&nbsp;&nbsp;
						1.2 串的基本操作 <br>
						<strong>2. 串的表示和实现</strong><br>
						2.1 串的定长顺序存储&nbsp;&nbsp;
						2.2 串的堆存储结构&nbsp;&nbsp;
						2.3 串的块链存储结构 <br>
						<strong>3. 串的模式匹配算法</strong><br>
						3.1 基本的模式匹配算法 &nbsp;&nbsp;
						3.2 模式匹配的改进算法—KMP算法
					</p>
				</li>
				<li>
					<h3><strong>单元五&nbsp; 多维数组和广义表</strong></h3>
					<p>
						<strong>1. 多维数组 </strong><br>
						1.1 多维数组的定义&nbsp;&nbsp;
						1.2 数组的存储结构 <br>
						<strong>2. 矩阵的压缩存储</strong><br>
						2.1 特殊矩阵&nbsp;&nbsp;
						2.2 稀疏矩阵 <br>
						<strong>3. 广义表</strong>
					</p>
				</li>
			</ul>
		</div>
		<div id="c2" style="display: none ">
			<ul>
				<li>
					<h3><strong>单元六&nbsp; 树和二叉树</strong></h3>
					<p>
						<strong>1. 树的概念与基本操作</strong><br>
						1.1 树的定义 &nbsp;&nbsp;
						1.2 树的一些基本概念&nbsp;&nbsp;
						1.3 树的基本操作<br>
						<strong>2. 二叉树</strong><br>
						2.1 二叉树的定义与基本操作&nbsp;&nbsp;
						2.2 二叉树的性质&nbsp;&nbsp;
						2.3 二叉树的存储结构<br>
						<strong>3. 二叉树的遍历与线索化</strong><br>
						3.1 二叉树的遍历&nbsp;&nbsp;
						3.2 线索二叉树<br>
						<strong>4. 树和森林</strong><br>
						4.1 树的存储结构&nbsp;&nbsp;
						4.2 树、森林和二叉树之间的转换&nbsp;&nbsp;
						4.3 树和森林的遍历<br>
						<strong>5. 哈夫曼树及其应用</strong><br>
						5.1 与哈夫曼树相关的基本概念&nbsp;&nbsp;
						5.2 哈夫曼树的应用&nbsp;&nbsp;
						5.3 哈夫曼编码算法的实现<br>
					</p>
				</li>
				<li>
					<h3><strong>单元七&nbsp; 图</strong></h3>
					<p>
						<strong>1. 图的基本概念与存储结构</strong><br>
						1.1 图的定义&nbsp;&nbsp;
						1.2 图的相关术语&nbsp;&nbsp;
						1.3 邻接矩阵表示法&nbsp;&nbsp;
						1.4 邻接表表示法<br>
						<strong>2. 图的遍历</strong><br>
						2.1 深度优先搜索法&nbsp;&nbsp;
						2.2 广度优先搜索法&nbsp;&nbsp;
						2.3 非连通图的遍历<br>
						<strong>3. 生成树与最小生成树</strong><br>
						3.1 生成树的概念&nbsp;&nbsp;
						3.2 普里姆（Prim）算法&nbsp;&nbsp;
						3.3 克鲁斯卡尔（Kruskal）算法<br>
						<strong>4. 最短路径</strong><br>
						4.1 从某个源点到其余各顶点的最短路径&nbsp;&nbsp;
						4.2 每一对顶点之间的最短路径&nbsp;&nbsp;
						4.3 拓扑排序&nbsp;&nbsp;
						4.4 关键路径<br>
					</p>
				</li>
				<li>
					<h3><strong>单元八&nbsp;查找</strong></h3>
					<p>
						<strong>1. 查找的基本概念</strong><br>

						<strong>2. 线性表的查找 </strong><br>
						2.1 顺序查找&nbsp;&nbsp;
						2.2 二分查找&nbsp;&nbsp;
						2.3 分块查找<br>
						<strong>3. 树表的查找 </strong><br>
						3.1 二叉排序树&nbsp;&nbsp;
						3.2 B－树<br>
						<strong>4. 散列表的查找</strong><br>
						4.1 散列表的概念&nbsp;&nbsp;
						4.2 散列函数的构造方法&nbsp;&nbsp;
						4.3 处理冲突的方法  &nbsp;&nbsp;
					</p>
				</li>
				<li>
					<h3><strong>单元九&nbsp;排序</strong></h3>
					<p>
						<strong>1. 排序的基本概念</strong><br>
						1.1 排序的稳定性
						1.2 排序方法的分类
						1.3 排序算法性能评价
						1.4不同存储方法的排序过程
						<strong>2. 插入排序和交换排序 </strong><br>
						2.1 直接插入排序
						2.2 希尔排序
						2.3 冒泡排序
						2.4 快速排序<br>
						<strong>3. 选择排序 </strong><br>
						3.1 直接选择排序
						3.2 堆排序
						3.3 归并排序<br>
						<strong>4. 基数排序</strong><br>
						4.1 多关键字的排序
						4.2 链式基数排序;
					</p>
				</li>
			</ul>
		</div>
	</div>
	<div class="shiyan" id="d2" style="display: none">
		<ul>
			<li>
				<h2>实验一</h2>
				<p>
					<strong>实验目的与要求：</strong>完成线性表及单链表结构特征和类型说明，在链式存储方式下实现建立线性表的算法。<br>
					<strong>需要的主要实验条件及设备：</strong>计算机（装有TC2.0或VC++6.0）<br>
					<strong>实验主要内容：</strong>编制C程序，利用链接存储方式实现下列功能：从键盘输入数据建立一个线性表，并输出该线性表。
				</p>
			</li>
			<li>
				<h2>实验二</h2>
				<p>
					<strong>实验目的与要求：</strong>通过上机操作掌握栈和队列的定义、组织形式、结构特征和类型说明以及建立栈的算法。<br>
					<strong>需要的主要实验条件及设备：</strong>计算机（装有TC2.0或VC++6.0）<br>
					<strong>实验主要内容：</strong>用C语言编程序，完成栈和队列的类型定义、组织形式、结构特征和实现建立栈和队列后再输出操作的正确结果。
				</p>
			</li>
			<li>
				<h2>实验三</h2>
				<p>
					<strong>实验目的与要求：</strong>掌握树和二叉树结构，二叉树的顺序存储和二叉链表存储方式、结点结构和类型定义；二叉树的上的基本运算及应用。<br>
					<strong>需要的主要实验条件及设备：</strong>计算机（装有TC2.0或VC++6.0）<br>
					<strong>实验主要内容：</strong>用C语言编程序，完成二叉树的二叉链表存储方式的基本运算。<br>
				</p>
			</li>
			<li>
				<h2>实验四</h2>
				<p>
					<strong>实验目的与要求：</strong>掌握图形结构和图的两种存储结构(邻接矩阵和邻接表)的表示方法与运算。<br>
					<strong>需要的主要实验条件及设备：</strong>计算机（装有TC2.0或VC++6.0）<br>
					<strong>实验主要内容：</strong>用C语言编程，完成图的两种存储结构(邻接矩阵和邻接表)的表示方法与运算。
				</p>
			</li>
			<li>
				<h2>实验五</h2>
				<p>
					<strong>实验目的与要求：</strong>掌握几种常用的查找方法：顺序查找运算的实现。<br>
					<strong>需要的主要实验条件及设备：</strong>计算机（装有TC2.0或VC++6.0）<br>
					<strong>实验主要内容：</strong>用C语言编程，完成顺序查找的基本思想及存储、运算的实现。
				</p>
			</li>
			<li>
				<h2>实验六</h2>
				<p>
					<strong>实验目的与要求：</strong>掌握几种主要的排序方法：掌握插入排序、冒泡排序基本思想及实现。<br>
					<strong>需要的主要实验条件及设备：</strong>计算机（装有TC2.0或VC++6.0）<br>
					<strong>实验主要内容：</strong>用C语言编程，完成插入排序、冒泡排序的基本思想及实现。
				</p>
			</li>
		</ul>
	</div>
	<div class="fangfa" id="d3" style="display: none">
		<p>
			&nbsp;&nbsp;“数据结构”是计算机相关专业的一门非常重要的课程。也是一门理论性和实践性都很强的课程。课程还具有高度抽象、内容丰富，学习量大、需要运用较难掌握的先修课程知识、隐含在各部分的技术和方法丰富等特点。为此，在教学过程中，有必要对课程结构及内容条理化、形象化，从而降低知识要点本身的难度,要因势利导针对不同的对象, 层次不同的学生, 并结合学生自身所需, 有个性地进行教学，主要采用以下教学方法：<br>
			&nbsp;&nbsp;1.互动式教学
			采用互动式教学，培养学生思考问题、分析问题和解决问题的能力；引导和鼓励学生通过实践和自学获取知识，培养学生的自学能力；增加讨论课，调动学生学习的主观能动性；注意培养学生运用所学知识分析问题、解决问题的能力。<br>
			&nbsp;&nbsp;2.将可视化的多媒体教学方式与传统的板书教学方式相结合
			传统的板书讲解方法能够使学生有足够的时间思考和消化教师讲解的内容，而且还可
			以通过举例等手段让讲解更形象。但是学生的程度不同，吸收知识的能力也不同，黑板一擦，学生只能凭记忆复习。而多媒体手段比板书讲解更生动，其次，它利于保存，便于作为一种学习资料供学生课后复习。而实践也证明了图、文、声并茂比单纯文字叙述更有助于学生理解和长期记忆。可以把多媒体手段作为板书教学的必要补充，两者相辅相成。充分发挥多媒体教学软件作为课堂和课后的补充教学手段的作用。<br>
			&nbsp;&nbsp;3.加强实践环节，切实提高学生的解决实际问题能力
			实验教学部分其实是数据结构教学中一个非常重要的环节。只有自己动手实现才能真
			正理解数据结构是什么。实验内容的安排一方面要考虑到学生专业水平和认知能力等方面
			的实际情况；另一方面又要调动学生的积极性，体现数据结构的魅力所在。
		</p>
	</div>
	<div class="tuijian" id="d4"style="display: none">
		<p>
			1. 唐国民、王国君，《数据结构》（C语言版），清华大学出版社<br>
			2. 王国君、唐国民，《数据结构实验教程》（C语言版），清华大学出版社<br>
			3. 谈春媛，《数据结构》，电子工业出版社<br>
			4. 黄刘生，《数据结构》，经济科学出版社<br>
			5. 谭浩强，《实用数据结构基础》，中国铁道出版社<br>
			6. 邓文华，《数据结构实验与实训教程》（第3版），清华大学出版社<br>
		</p>
	</div>
